home *** CD-ROM | disk | FTP | other *** search
- /*
- Copyright (c) 1993, George Byrkit,
- Software Professionals Limited
- 1809 Saxon Street
- Ann Arbor, MI 48103
- (313)-663-1009
-
- ALL RIGHTS RESERVED
-
- THIS FILE MAY BE INCLUDED ROYALTY-FREE in any program as long as the
- above copyright notice also appears in the text of the program executable.
-
- filename: inifile.h
-
- purpose: emulate windows API functions to access the ini files
-
- These functions are extracted from windows.h
-
- instructions for building:
- compile:
- link:
- other:
-
- change log:
- When Version Who Why
- 01-jan-93 1.0 ghb created
- */
-
- #ifndef INIFILE_H
- #define INIFILE_H
-
- #ifdef __cplusplus
- extern "C" { /* Assume C declarations for C++ */
- #endif /* __cplusplus */
-
- /******* Common definitions and typedefs ***********************************/
-
- #define VOID void
-
- #define FAR _far
- #define NEAR _near
- #define PASCAL _pascal
- #define CDECL _cdecl
-
- #define WINAPI _far _pascal
- #define CALLBACK _far _pascal
-
- /****** Simple types & common helper macros *********************************/
-
- typedef int BOOL;
- #define FALSE 0
- #define TRUE 1
-
- typedef unsigned char BYTE;
- typedef unsigned short WORD;
- typedef unsigned long DWORD;
-
- typedef unsigned int UINT;
-
- #ifdef STRICT
- typedef signed long LONG;
- #else
- #define LONG long
- #endif
-
- #define LOBYTE(w) ((BYTE)(w))
- #define HIBYTE(w) ((BYTE)((UINT)(w) >> 8))
-
- #define LOWORD(l) ((WORD)(l))
- #define HIWORD(l) ((WORD)((DWORD)(l) >> 16))
-
- #define MAKELONG(low, high) ((LONG)(((WORD)(low)) | (((DWORD)((WORD)(high))) << 16)))
-
- #if !defined(NOMINMAX) && !defined(__cplusplus)
- #ifndef max
- #define max(a,b) (((a) > (b)) ? (a) : (b))
- #endif
- #ifndef min
- #define min(a,b) (((a) < (b)) ? (a) : (b))
- #endif
- #endif /* NOMINMAX */
-
- /* Types use for passing & returning polymorphic values */
- typedef UINT WPARAM;
- typedef LONG LPARAM;
- typedef LONG LRESULT;
-
- #define MAKELPARAM(low, high) ((LPARAM)MAKELONG(low, high))
- #define MAKELRESULT(low, high) ((LRESULT)MAKELONG(low, high))
-
- /****** Common pointer types ************************************************/
-
- #ifndef NULL
- #define NULL 0
- #endif
-
- typedef char NEAR* PSTR;
- typedef char NEAR* NPSTR;
-
-
- typedef char FAR* LPSTR;
- typedef const char FAR* LPCSTR;
-
- typedef BYTE NEAR* PBYTE;
- typedef BYTE FAR* LPBYTE;
-
- typedef int NEAR* PINT;
- typedef int FAR* LPINT;
-
- typedef WORD NEAR* PWORD;
- typedef WORD FAR* LPWORD;
-
- typedef long NEAR* PLONG;
- typedef long FAR* LPLONG;
-
- typedef DWORD NEAR* PDWORD;
- typedef DWORD FAR* LPDWORD;
-
- typedef void FAR* LPVOID;
-
- #define MAKELP(sel, off) ((void FAR*)MAKELONG((off), (sel)))
- #define SELECTOROF(lp) HIWORD(lp)
- #define OFFSETOF(lp) LOWORD(lp)
-
- #define FIELDOFFSET(type, field) ((int)(&((type NEAR*)1)->field)-1)
-
- /* User Profile Routines */
- UINT WINAPI GetProfileInt(LPCSTR, LPCSTR, int);
- int WINAPI GetProfileString(LPCSTR, LPCSTR, LPCSTR, LPSTR, int);
- BOOL WINAPI WriteProfileString(LPCSTR, LPCSTR, LPCSTR);
-
- UINT WINAPI GetPrivateProfileInt(LPCSTR, LPCSTR, int, LPCSTR);
- int WINAPI GetPrivateProfileString(LPCSTR, LPCSTR, LPCSTR, LPSTR, int, LPCSTR);
- BOOL WINAPI WritePrivateProfileString(LPCSTR, LPCSTR, LPCSTR, LPCSTR);
-
- #ifdef __cplusplus
- } /* End of extern "C" { */
- #endif /* __cplusplus */
-
- #endif // inifile.h
-